home *** CD-ROM | disk | FTP | other *** search
- 2 rem the martian monsters
- 3 rem by j.c.hilty
- 5 poke 52,48:poke 56,48
- 10 s=54272:forl=stos+24:pokel,0:next
- 40 v=53248
- 200 print"[147]":poke 53280,0:poke 53281,0
- 220 print"[159]t h e m a r t i a n m o n s t e r s"
- 230 print
- 240 print tab(14)" [146] "
- 250 print tab(15)" [146] "
- 260 print tab(9)" [146] [146] [146] "
- 270 print tab(9)" [146] [146] "
- 280 print tab(10)" [146] [146] "
- 290 print tab(10)" [146] [146] "
- 300 print tab(13)" [146] "
- 310 print tab(14)" "
- 320 print tab(15)" "
- 330 print tab(16)" [146] "
- 340 print tab(16)" [146] "
- 350 print tab(15)" [146] "
- 360 print
- 370 print tab(2)"[159]...spaceships are our favorite food..."
- 380 print
- 390 print tab(4)"...and we are getting hungry..."
- 405 poke s+24,15:poke s+1,15:poke s+5,16:poke s+6,240:poke s+4,21
- 420 for t=1 to 3
- 425 r=10
- 430 poke s+15,r
- 450 r=r+1:if r=200 then 470
- 460 goto 430
- 470 next t
- 480 for i=0 to 24:poke s+i,0:next
- 520 print"[147]":print""tab(4)"please wait for one moment..."
- 521 print:print"..while we work up an appetite for you.."
- 525 for x=50880 to 51116:read a:poke x,a:next
- 530 for x=49152 to 49528:read a:poke x,a:next
- 535 for x=12288 to 12671:read a:poke x,a:next
- 540 poke 49522,1:poke 49523,0:poke 49524,30:poke 49525,0:poke 49526,23
- 554 print"[147]"
- 555 for p=0 to 18
- 560 t$="":for i=0 to 30:t=32
- 570 if int(rnd(2)*7)<1 then t=46:if int(rnd(2)*5)<1 then t=42
- 580 t$=t$+chr$(t):next i
- 590 t$=t$+chr$(170)
- 600 print t$
- 610 next p
- 620 print" [223][146] [169] [223][146] [169] [223][146] [169]"
- 630 print" [223][146] [169] [223][169] [223][146] [169] [223][146] [169] "
- 640 print" "
- 650 print" "
- 652 print"":print tab(34)"the"
- 653 print tab(32)"martian"
- 654 print tab(32)"monsters"
- 655 print"":printtab(33)"score"
- 656 print:print:print tab(33)"ships"
- 660 print:print:print tab(33)"missed":print tab(33)"shots"
- 662 sc=0:sh=5:ms=0
- 665 print"":print""tab(34)sh
- 666 print"":print""tab(34)sc
- 667 print"":print""tab(34)ms
- 669 rem prepare sprites
- 672 poke 2040,193:poke 2041,194
- 674 for t=2042 to 2046
- 675 poke t,192
- 676 next t
- 680 poke v+39,1:poke v+40,10:poke v+41,5:poke v+42,4
- 685 poke v+28,1:poke v+37,6:poke v+38,2
- 690 poke v+43,7:poke v+44,8:poke v+45,6
- 700 x0=140:y0=160
- 710 poke v+0,x0:poke v+1,y0
- 720 poke v+4,35:poke v+5,60
- 730 poke v+6,85:poke v+7,60
- 740 poke v+8,135:poke v+9,60
- 750 poke v+10,185:poke v+11,60
- 760 poke v+12,235:poke v+13,60
- 765 poke v+21,125
- 770 poke 50437,0:poke 50438,255
- 780 poke 50439,0:poke 50440,2
- 790 poke 50441,0:poke 50442,254
- 800 poke 50443,0:poke 50444,1
- 810 poke 50445,0:poke 50446,253
- 815 poke 50435,0:poke 50436,255
- 820 poke 50432,124
- 830 sys 51104
- 840 rem main loop
- 850 poke v+0,x0:poke v+1,y0
- 860 x0=x0+5:if x0>250 then x0=30
- 870 jy=peek(56321)and15
- 880 if jy=13theny0=y0+4:if y0>205 then y0=205
- 890 if jy=14 then y0=y0-4:if y0<70 then y0=70
- 900 fb=-((peek(56321)and16)=0):if fb=1 then 2000
- 910 w=peek(v+30)
- 920 if w=5 then q=2042:goto 3000
- 930 if w=9 then q=2043:goto 3000
- 940 if w=17 then q=2044:goto 3000
- 950 if w=33 then q=2045:goto 3000
- 960 if w=65 then q=2046:goto 3000
- 965 sys 49152
- 970 goto 850
- 2000 rem fire laser
- 2005 poke 50432,0
- 2010 poke v+2,x0:poke v+3,y0-12
- 2015 poke v+21,127
- 2020 poke 50432,2
- 2030 if peek(v+3)<55 then 2500
- 2035 w1=peek(v+30)
- 2040 if w1=6 then q=2042:goto 2600
- 2050 if w1=10 then q=2043:goto 2600
- 2060 if w1=18 then q=2044:goto 2600
- 2070 if w1=34 then q=2045:goto 2600
- 2080 if w1=66 then q=2046:goto 2600
- 2090 goto 2030
- 2499 rem missed shot
- 2500 ms=ms+1
- 2505 print"":print""tab(34)ms
- 2510 poke v+21,125
- 2530 poke v+23,124:poke v+29,124
- 2531 p=195
- 2532 for t=1 to 8
- 2533 for z=2042 to 2046
- 2534 poke z,p
- 2535 next z
- 2536 p=p+1:if p=197 then p=195
- 2537 poke s+5,9:poke s+6,0:poke s+24,15
- 2538 poke s+1,80:poke s,15:poke s+4,33
- 2539 for e=0 to 50:next e
- 2540 poke s+4,32
- 2541 next t
- 2542 w1=peek(v+30)
- 2543 for z=2042 to 2046:poke z,192:next
- 2544 poke v+23,0:poke v+29,0
- 2545 poke 50432,124
- 2548 if ms=5 then 7000
- 2550 goto 850
- 2599 rem laser hits martian
- 2600 sc=sc+100
- 2602 print"":print""tab(33)sc
- 2605 poke v+21,125
- 2606 poke q,197
- 2608 gosub 3500
- 2630 for i=0 to 24:poke s+i,0:next
- 2631 poke s+24,15:poke s+1,15:poke s+5,16
- 2632 poke s+6,240:poke s+4,21
- 2633 r=80
- 2634 poke s+15,r
- 2635 r=r+1:if r=160 then 2640
- 2636 goto 2634
- 2640 for i=0 to 24:poke s+i,0:next
- 2642 poke q,192
- 2650 w1=peek(v+30)
- 2655 poke 50432,124
- 2660 goto 850
- 3000 rem martian eats spaceship
- 3005 poke 50432,0
- 3010 if q=2042 then poke v+29,4:poke v+23,4
- 3020 if q=2043 then poke v+29,8:poke v+23,8
- 3030 if q=2044 then poke v+29,16:poke v+23,16
- 3040 if q=2045 then poke v+29,32:poke v+23,32
- 3050 if q=2046 then poke v+29,64:poke v+23,64
- 3060 poke 2040,197
- 3070 gosub 3500
- 3080 poke v+21,124
- 3090 p=195
- 3100 for i=0 to 24:poke s+i,0:next
- 3110 poke s+5,9:poke s+6,0:poke s+24,15
- 3120 for t=1 to 8
- 3130 poke q,p
- 3140 p=p+1:if p=197 then p=195
- 3150 poke s+1,80:poke s,15:poke s+4,33
- 3160 for e=0 to 50:next e
- 3170 poke s+4,32
- 3180 next t
- 3190 sh=sh-1
- 3195 print"":print""tab(34)sh
- 3200 poke 2040,193
- 3210 poke q,192
- 3212 poke v+29,0:poke v+23,0
- 3215 x0=160:y0=140
- 3220 poke v+0,x0:poke v+1,y0
- 3230 poke v+21,125
- 3240 poke v+8,135:poke v+9,60
- 3260 poke 50432,124
- 3265 w=peek(v+30)
- 3268 if sh=0 then 7000
- 3270 goto 965
- 3499 rem explosion sound
- 3500 for i=0 to 24:poke s+i,0:next
- 3510 poke s+24,15:poke s+12,160:poke s+13,252
- 3520 poke s+8,80:poke s+7,40:poke s+11,129
- 3530 for t=0 to 100:next
- 3540 poke s+11,128
- 3550 return
- 4000 rem ml sprite routine
- 4010 data 169,255,45,0,198,240,16,169,0,141,0,198,162,21,189,0
- 4020 data 197,157,0,198,202,208,247,162,1,169,1,141,80,197,173,80
- 4030 data 197,45,0,197,240,3,76,243,198,232,232,14,80,197,208,238
- 4040 data 76,49,234,169,0,29,0,197,208,3,76,97,199,169,128,61
- 4050 data 0,197,240,48,254,0,198,208,40,222,255,207,76,144,199,80
- 4060 data 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
- 4070 data 43,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
- 4080 data 198,76,97,199,222,0,198,208,40,254,255,207,208,29,173,80
- 4090 data 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
- 4100 data 91,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
- 4110 data 198,169,0,232,29,0,197,208,3,76,140,199,169,128,61,0
- 4120 data 197,240,11,254,0,198,208,20,222,255,207,76,134,199,222,0
- 4130 data 198,208,9,254,255,207,189,0,197,157,0,198,202,76,233,198
- 4140 data 169,255,221,255,207,240,3,76,43,199,173,80,197,76,17,199
- 4150 data 120,169,192,141,20,3,169,198,141,21,3,88,96
- 5000 rem scroll data
- 5010 data 174,114,193,224,3,144,3,76,117,192,188,114,193,140,121,193,174
- 5020 data 118,193,232,202,32,30,193,172,121,193,173,119,193,201,2,208,10
- 5030 data 169,32,72,173,33,208,72,76,50,192,177,90,72,177,92,72,204
- 5040 data 116,193,240,20,200,177,90,72,177,92,136,145,92,104,145,90,200
- 5050 data 204,116,193,208,238,240,18,136,177,90,72,177,92,200,145,92,104
- 5060 data 145,90,136,204,115,193,208,238,173,119,193,201,0,208,5,104,104
- 5070 data 76,111,192,104,145,92,104,145,90,236,117,193,208,160,96,172,116
- 5080 data 193,200,189,114,193,170,32,30,193,173,120,193,201,2,208,19,136
- 5090 data 169,32,153,122,193,173,33,208,153,162,193,204,115,193,208,239,240
- 5100 data16,136,177,90,153,122,193,177,92,153,162,193,204,115,193,208,240
- 5110 data 236,117,193,240,37,202,32,30,193,172,116,193,200,136,177,90,72
- 5120 data 177,92,32,48,193,145,92,104,145,90,32,56,193,204,115,193,208
- 5130 data 234,236,117,193,208,221,240,46,202,206,118,193,232,32,30,193,172
- 5140 data 116,193,200,136,32,48,193,177,90,72,177,92,32,56,193,145,92
- 5150 data 104,145,90,204,115,193,208,234,236,118,193,208,221,238,118,193,232
- 5160 data 32,30,193,173,120,193,201,0,240,20,172,115,193,136,200,185,162
- 5170 data 193,145,92,185,122,193,145,90,204,116,193,208,240,96,189,89,193
- 5180 data 133,91,24,105,212,133,93,189,64,193,133,90,133,92,96,72,152
- 5190 data 24,105,40,168,104,96,72,152,56,233,40,168,104,96,0,40,80
- 5200 data 120,160,200,240,24,64,104,144,184,224,8,48,88,128,168,208,248
- 5210 data 32,72,112,152,192,4,4,4,4,4,4,4,5,5,5,5,5
- 5220 data 5,6,6,6,6,6,6,6,7,7,7,7,7,3,0,4,0
- 5230 data 4,1,1
- 5232 rem monster data
- 5235 data 6,0,96,3,0,192,1,129,128,0,195,0,0,126,0,0,255,0
- 5240 data 1,255,128,3,255,192,227,255,199,63,221
- 5244 data 252,227,255,199,3,255,192,1,255,128
- 5248 data 0,255,0,0,66,0,0,66,0,0,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 5250 rem rocket multicolor data
- 5260 data 0,32,0,0,32,0,0,32,0,0,168,0,0,168,0,1,169,0,5,169,64
- 5270 data 21,169,80,85,169,84,0,168,0,0,168,0,0,168,0,0,168,0,3,255,0
- 5280 data 15,255,192,63,255,240,15,255,192,0,48,0,0,0,0,0,0,0,0,0,0,0
- 5290 rem laser data
- 5300 data 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0
- 5310 data 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0
- 5320 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 5330 rem gobble data
- 5340 data 3,0,0,1,128,0,0,192,0,0,60,0,0,126,0,0,255,0,1,247,224
- 5350 data 1,255,224,1,252,0,1,248,0,0,248,0,0,120,0,0,60,0
- 5360 data 0,39,192,0,35,192,0,32,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 5370 rem more gobble data
- 5380 data 3,0,0,1,128,0,0,192,0,0,60,0,0,126,0,0,255,0,1,247,128
- 5390 data 1,255,192,1,255,192,1,255,192,0,255,192,0,127,128,0,62,0
- 5400 data 0,32,0,0,32,0,0,32,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 5410 rem explosion
- 5420 data 0,0,0,76,1,0,0,128,4,32,4,32,0,48,0,8,0,0,0,32,48,80,0,130
- 5430 data 3,12,0,0,0,4,32,0,128,0,36,0,0,0,192,201,0,4,0,0,0,19,32,192
- 5440 data 0,4,0,32,0,1,4,192,0,0,4,8,0,0,0,0
- 6999 rem game over-play again option
- 7000 print"[147]"
- 7010 poke v+21,124
- 7020 print""tab(6)"yummy..."
- 7030 print tab(14)"yummy..."
- 7040 print tab(22)"yummy..."
- 7050 print:print tab(4)"we got spaceships in our tummy!!!!"
- 7060 for i=0 to 24:poke s+i,0:next
- 7070 poke s+24,15:poke s+1,15:poke s+5,16
- 7080 poke s+6,240:poke s+4,21
- 7090 for t=1 to 2
- 7100 r=10
- 7110 poke s+15,r
- 7120 r=r+1
- 7130 if r=200 then 7150
- 7140 goto 7110
- 7150 next t
- 7160 for i=0 to 24:poke s+i,0:next
- 7170 print"[147]"
- 7190 print ""tab(9)"s c o r e "sc
- 7200 print:print
- 7210 print tab(6)"play again? y or n"
- 7215 get junk$:if junk$<>"" then 7215
- 7220 get a$:if a$="" then 7220
- 7230 if a$="y" then 7250
- 7240 end
- 7250 poke v+21,0:poke 50432,0
- 7260 print"[147]"
- 7265 w=peek(v+30)
- 7270 run
-